<?php
include ("class.conexion.php");

  class WebService
  {	
	public function listarEspecialidades()
	{
		$servicio = Conexion::conectar();
		$metodo = "especialidadesListar";
		$parametros = array();
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["especialidades"])
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["especialidades"];
		}
		else
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		}
		return $resultado;
	}
	
	public function profesionalesListarLocalidades()
	{
		$servicio = Conexion::conectar();
		$metodo = "profesionalesListarLocalidades";
		$parametros = array();
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"])
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"];
		}
		else
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		}
		return $resultado;
	}
	
	public function obtenerProfesionalesxEspecialidad($especialidadid)
	{
		$servicio = Conexion::conectar();
		$metodo = "profesionalesObtenerProfesionalesxEspecialidad";
		$parametros = array("especialidadid"=>$especialidadid);
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"])
		{
			if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"])
			{
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"];
				
			}
			else
			{				
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
				
				if ($resultado["profesional"])
				{
					if (!$resultado["profesional"]["DNI"])
					{
						$resultado = $resultado["profesional"];
					}
				}
				
			}
		}
		return $resultado;		
	}
	
	public function profesionalesObtenerProfesionalesxEspecialidadyLocalidad($especialidadid, $localidad)
	{
		$servicio = Conexion::conectar();
		$metodo = "profesionalesObtenerProfesionalesxEspecialidadyLocalidad";
		$parametros = array("especialidadid"=>$especialidadid, "localidad"=>$localidad);
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"])
		{
			if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"])
			{
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["profesionales"];
				
			}
			else
			{				
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
				
				if ($resultado["profesional"])
				{
					if (!$resultado["profesional"]["DNI"])
					{
						$resultado = $resultado["profesional"];
					}
				}
				
			}
		}
		return $resultado;		
	}
	
	public function ValidarUsuario($usuario, $password)
	{
		$servicio = Conexion::conectar();
		$metodo = "UsuarioBuscar";
		$parametros = array("usuarionombre"=>$usuario, "password"=> $password);
		$respuesta = $servicio->call($metodo, $parametros);
		$resultado = $respuesta[$metodo."Result"];
		return $resultado;
	}
	
	public function ObtenerDniUsuario($usuario, $clave)
	{
		$servicio = Conexion::conectar();
		$metodo = "usuariosObtenerDniUsuario";
		$parametros = array("usuarionombre"=>$usuario, "password"=>$clave);
		$respuesta = $servicio->call($metodo, $parametros);
		$result = $respuesta[$metodo."Result"];
		return $result;
	}
	public function ObtenerDatosUsuario($dni)
	{
		$servicio = Conexion::conectar();
		$metodo = "afiliadosObtenerAfiliadoCompleto";
		$parametros = array("afiliadodni"=>$dni);
		$respuesta = $servicio->call($metodo, $parametros);
		$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		return $resultado;
	}
	
	public function ModificarDatosUsuario($dni, $apellido, $nombre, $domicilio, $telefono, $sexo, $fechanac, $email, $planid, $filialid, $formadepagoid)
	{
		$servicio = Conexion::conectar();
		$metodo = "afiliadosModificarAfiliado";
		$parametros = array("dni"=>$dni,
							"apellido"=>$apellido,
							"nombre"=>$nombre,
							"domicilio"=>$domicilio,
							"telefono"=>$telefono,
							"sexo"=>$sexo,
							"fechanac"=>$fechanac,
							"email"=>$email,
							"planid"=>$planid,
							"filialid"=>$filialid,
							"formadepagoid"=>$formadepagoid);
		$respuesta = $servicio->call($metodo, $parametros);
		$resultado = $respuesta[$metodo."Result"];
		return $resultado;
	}
	
	public function listarPracticas()
	{
		$servicio = Conexion::conectar();
		$metodo = "practicasListarPracticas";
		$parametros = array();
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["practicas"])
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["practicas"];
		}
		else
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		}
		return $resultado;
	}
	
	public function practicasObtenerPracticasxPlan($planid)
	{
		$servicio = Conexion::conectar();
		$metodo = "practicasBuscarPracticasxPlan";
		$parametros = array("planid"=>$planid);
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"])
		{
			if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["practicas"])
			{
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["practicas"];
				
			}
			else
			{				
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
				
				if ($resultado["practica"])
				{
					if (!$resultado["practica"]["practicaid"])
					{
						$resultado = $resultado["practica"];
					}
				}
				
			}
		}
		return $resultado;		
	}
	
	public function planesListarPlanes()
	{
		$servicio = Conexion::conectar();
		$metodo = "PlanesBuscar";
		$parametros = array();
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["tabla"])
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["tabla"];
		}
		else
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		}
		return $resultado;
	}
	
	public function farmaciaListarFarmaciasxLocalidad($localidad)
	{
		$servicio = Conexion::conectar();
		$metodo = "farmaciaListarFarmaciasxLocalidad";
		$parametros = array("localidad"=>$localidad);
		$respuesta = $servicio->call($metodo, $parametros);
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"])
		{
			if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["farmacias"]["ID"])
			{
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];				
			}
			else
			{
				$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["farmacias"];
			}
		}
		return $resultado;		
	}
	
	public function farmaciasListarLocalidades()
	{
		$servicio = Conexion::conectar();
		$metodo = "farmaciasListarLocalidades";
		$parametros = array();
		$respuesta = $servicio->call($metodo, $parametros);
		
		if ($respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["farmacias"])
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["farmacias"];
		}
		else
		{
			$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"];
		}
		return $resultado;
	}
	
	public function enviarMail($emisor, $receptor, $asunto, $texto)
	{
		$servicio = Conexion::conectar();
		$metodo = "enviarMail";
		$parametros = array("emisor"=>$emisor, "receptor"=>$receptor, "asunto"=>$asunto, "texto"=>$texto);
		$respuesta = $servicio->call($metodo, $parametros);
		return $respuesta[$metodo."Result"];
	}
	
	public function CuotasListar($dni)
	{
		$servicio = Conexion::conectar();
		$metodo = "CuotasListar";
		$parametros = array("afiliadoid"=>$dni);
		$respuesta = $servicio->call($metodo, $parametros);
		$resultado = $respuesta[$metodo."Result"]["diffgram"]["DocumentElement"]["especialidad"];
		return $resultado;
	}
  }
?>